package main

func main()  {
	
}

type FeidiTreeNode struct {
	val int
	left *FeidiTreeNode
	right *FeidiTreeNode
}

type queuerewr struct {
	 que []*FeidiTreeNode
}

func getdigui(root *FeidiTreeNode) []int {
	var ret []int

	if root == nil {
		return []int{}
	}
	queaa := &queuerewr{que:[]*FeidiTreeNode{root}}

	for len(queaa.que) > 0{
		if root !=nil {
			ret = append(ret,root.val)
			if root.right != nil {
				queaa.que = append(queaa.que,root.right)
			}
			root = root.left
		}else {
			sieze := len(queaa.que)
			root = queaa.que[sieze-1]
			queaa.que = queaa.que[:sieze-2]
		}
	}
	return ret
}